package com.mongo.annotation;

import com.mongo.enums.EncryptType;

import java.lang.annotation.*;

/**
 * 加密字段注解
 * @author xiazhun
 * @create 2022/8/5
 */
@Documented
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface EncryptField {

    /**
     * 加密方式 默认无
     */
    EncryptType type() default EncryptType.NONE;

    /**
     * 密钥
     */
    String key() default "";

    /**
     * 公钥
     */
    String publicKey() default "";

    /**
     * 私钥
     */
    String privateKey() default "";

    /**
     * 查询解密,默认为true
     */
    boolean returnDecode() default true;

    String privateKeyPath() default "";
}
